const { defineConfig } = require('@vue/cli-service')

module.exports = defineConfig({
  transpileDependencies: true,
  // 开发环境配置
  devServer: {
    // 只在开发环境启用
    hot: true,
    open: process.env.NODE_ENV === 'development',
    port: process.env.VUE_APP_DEV_PORT || 8080,
    proxy: {
      '/api': {
        target: process.env.VUE_APP_API_BASE_URL,
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }
  },
  
  // 根据环境配置不同的选项
  configureWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      // 生产环境配置
      config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
    } else {
      // 开发环境配置
      config.devtool = 'eval-source-map'
    }
  },
  
  // 生产环境构建配置
  productionSourceMap: process.env.NODE_ENV !== 'production'
})